<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    
  </style>
</head>
<body>
  
</body>
<script>
  
  // console.log(a);
  // var a = 10;
  // console.log(a);

  // fn();
  // function fn(){
  //   console.log("hello");
  // }
  // fn();

  // console.log(a);
  // function a(){  };
  // var a = "hello";

  // 鸠占鹊巢



  // console.log(fn);
  // var fn = function(){}




  // ======



  // ;(function(){
  //   console.log(a);       // f3
  //   var a = "hello";
  //   console.log(a);       // hello
  //   function a(){ 1 }
  //   console.log(a);       // hello
  //   var a = function(){ 2 }
  //   console.log(a);       // f2
  //   function a(){ 3 }
  //   console.log(a);       // f2
  //   a = "world"
  //   console.log(a);       // world
  // })();
  // ↑↑↑等价于↓↓↓
  // ;(function(){
  //   var a;
  //   var a;
  //   function a(){ 1 }
  //   function a(){ 3 }
  //   console.log(a);       // f3
  //   a = "hello";
  //   console.log(a);       // hello
  //   console.log(a);       // hello
  //   a = function(){ 2 }
  //   console.log(a);       // f2
  //   console.log(a);       // f2
  //   a = "world"
  //   console.log(a);       // world
  // })();


  // =====

  ;(function(){
    console.log(a);       // f5
    function a(){ 1 }
    console.log(a);       // f5
    function a(){ 2 }
    console.log(a);       // f5
    var a = "hello";
    console.log(a);       // hello
    function a(){ 3 }
    console.log(a);       // hello
    var a = function(){ 4 }
    console.log(a);       // f4
    var a = "world";
    console.log(a);       // world
    function a(){ 5 }
    console.log(a);       // world
  })();
  
</script>
</html>